home *** CD-ROM | disk | FTP | other *** search
/ DS-CD ROM 2 1993 August / DS CD-ROM 2.Ausgabe (August 1993).iso / programm / ds0256 / mdebug.txt < prev    next >
Text File  |  1992-11-30  |  18KB  |  384 lines

  1.                 ───────────────────────────────────────────────
  2.                          MDEBUG V2.05 - Beschreibungen
  3.  
  4.                           Letzter Update: November 1992
  5.                                  Bernd Schemmer
  6.                 ───────────────────────────────────────────────
  7.  
  8. Diese Datei enthält beispielhafte Texte zur Beschreibung von MDEBUG in
  9. Mailboxen oder in Shareware-Katalogen.
  10.  
  11. ──────────────────────────────────────────────────────────────────────────────
  12.                              Programm Information
  13. ──────────────────────────────────────────────────────────────────────────────
  14.  
  15.  
  16. Archiv-Name:
  17. ────────────
  18.  
  19. Falls Sie MDEBUG in einen einzigen Archiv gepackt vertreiben (z.B. in
  20. Mailboxen) benutzen Sie bitte folgenden Namen für das Archiv:
  21.  
  22.  
  23.                MD_V205D.ZIP
  24.  
  25. (bzw. die entsprechende Extension für andere Packer)
  26.  
  27.  
  28. Programm Name, Kategorie:
  29. ─────────────────────────
  30.  
  31. Programm Name:  MDEBUG
  32.  
  33.       Version:  V2.05
  34.  
  35.    Kategorien:  Programmier Utilities, Debugging Tools, TSR
  36.                 Disassembler, Speicher Monitor, Interpreter
  37.                 Betriebssystem-Erweiterung
  38.  
  39.  
  40. Benötige Hard- und Software:
  41. ────────────────────────────
  42.  
  43. MDEBUG benötigt zwischen 16 und 50 K Speicher für den residenten
  44. Teil (zum Installieren von MDEBUG werden 64 K freier Speicher
  45. benötigt) und MS-DOS bzw. PC-DOS Version 3.0 oder höher
  46.  
  47.  
  48.  
  49.  
  50.  
  51. Beschreibungen von MDEBUG V2.05 für Shareware-Kataloge und Mailbox-Listen:
  52. ──────────────────────────────────────────────────────────────────────────
  53.  
  54.  
  55. ──────────────────────────────────────────────────────────────────────────────
  56. Kurztext (1 Zeile):
  57.  
  58. MDEBUG V2.05 - Speichermonitor incl. Disassembler (TSR) von Bernd Schemmer
  59.  
  60. ──────────────────────────────────────────────────────────────────────────────
  61. Kurztext (formatiert, 2 Zeilen):
  62.  
  63. MDEBUG V2.05 ist ein speicherresidentes Debugging-Tool bestehend aus einem
  64. Speichermonitor, einem Interpreter und einem Disassembler von Bernd Schemmer.
  65.  
  66. ──────────────────────────────────────────────────────────────────────────────
  67. Kurztext (formatiert, 3 Zeilen):
  68.  
  69. MDEBUG V2.05 ist ein speicherresidentes Debugging-Tool bestehend aus einem
  70. Speichermonitor, einem Interpreter mit eigener Programmiersprache und einem
  71. interaktiven und selektiven Disassembler. Autor: Bernd Schemmer
  72.  
  73.  
  74. ──────────────────────────────────────────────────────────────────────────────
  75. Langtext (formatiert, ca. 300 Zeilen):
  76.  
  77.  
  78.                 MDEBUG V2.05 Release 01.12.1992
  79.                 ───────────────────────────────
  80.  
  81.                 (c) 1988 - 1992 Bernd Schemmer
  82.  
  83.  
  84. Kurzbeschreibung von MDEBUG
  85. ───────────────────────────
  86.  
  87. MDEBUG ist ein speicherresidentes Debugging-Tool für PCs  unter MS/
  88. PC-DOS. MDEBUG enthält einen Speichermonitor, einen Interpreter mit
  89. eigener  Programmiersprache  und einen  interaktiven und selektiven
  90. Disassembler.
  91.  
  92. MDEBUG  wurde ursprünglich für die Ermittlung  von undokumentierten
  93. Strukturen des Betriebssystems DOS entwickelt, kann aber vielfältig
  94. eingesetzt werden. (z.B. zur Unterstützung bei der Programmierung).
  95.  
  96. MDEBUG  richtet sich vor allen an Programmierer/innen mit gutem bis
  97. sehr gutem Wissen über ihren PC und dem Betriebssystem  MS-DOS bzw.
  98. PC-DOS (und an die, die es noch werden wollen).
  99.  
  100.  
  101. Hardware- und Software-Vorraussetzungen für MDEBUG
  102. ──────────────────────────────────────────────────
  103.  
  104. MDEBUG läuft auf  jedem IBM-kompatiblen PC/XT/AT/386er. Unterstützt
  105. werden  alle  Graphikkarten in  allen Modi mit 80 oder mehr Spalten
  106. pro Zeile und 25 oder mehr Zeilen pro Seite.
  107. Unter Zuhilfename von Bildschirmtreibern  kann  MDEBUG auch  in den
  108. Graphikmodi der einzelnen Graphikkarten aufgerufen werden.
  109. MDEBUG  benötigt  nur 16 K  Speicher für  den residenten Teil (ohne
  110. Online-Hilfe und Disassembler),  für die Installation  werden  64 K
  111. freier Speicher benötigt.
  112. MDEBUG benötigt MS-DOS bzw. PC-DOS ab Version 3.0.
  113.  
  114.  
  115. Einsatzgebiete für MDEBUG
  116. ─────────────────────────
  117.  
  118. Da  MDEBUG  speicherresident  ist,  kann  es  vorzüglich zur Unter-
  119. stützung von anderen Debuggern eingesetzt werden.   Zum  Testen von
  120. eigenen Programmen stellt MDEBUG über den User-Interrupt ein Inter-
  121. face zum  gezielten  Aufruf  von MDEBUG  und  zur  Manipulation der  
  122. internen Daten von MDEBUG zur Verfügung.
  123. MDEBUG gestattet  auch den Aufruf  über jeden beliebigen Interrupt.
  124. MDEBUG  kann  gezielt  zur  Inspektion  und  Änderung von Speicher-
  125. bereichen  im Hauptspeicher  eingesetzt werden  (z.B. zur  Änderung
  126. der  Daten im  BIOS-Segment  oder  zur  Änderung  der  DOS-internen
  127. Datenstrukturen).
  128. Damit hierdurch  nicht  jeder Benutzer Unfug  anrichten  kann, kann
  129. MDEBUG  durch  ein  (jederzeit  ein-  und ausschaltbares)  Passwort
  130. geschützt werden.
  131.  
  132. MDEBUG ist über  Parameter völlig frei konfigurierbar (z.B. Hotkey,
  133. Farbeinstellungen, User-Int, Fensterpositionen, etc). Die aktuellen
  134. Einstellungen einer residenten Version von MDEBUG  können ebenfalls
  135. jederzeit geändert werden. Selbst  die  Tastenbelegung  von  MDEBUG
  136. kann den  eigenen Wünschen  bzw. der vorhandenen Hardware angepasst
  137. werden.
  138.  
  139.  
  140. Dokumentation und Online-Hilfe
  141. ──────────────────────────────
  142.  
  143. MDEBUG wird mit einer ausführlichen Ondisk-Dokumentation geliefert.
  144. Diese  beinhaltet neben der  vollständigen  Beschreibung von MDEBUG
  145. auch eine  ausführliche  Auflistung der  Interna von MDEBUG und die
  146. vollständige Dokumentation  der Interfaces  von  MDEBUG  (User-Int,
  147. Bildschirmtreiber und Kommandotreiber, s.u.).
  148. Die  Dokumentation  enthält  zudem umfangreiche  Beispiele  für die
  149. Möglichkeiten von MDEBUG.
  150.  
  151. Für  die  Hilfestellung  während der  Benutzung besitzt MDEBUG eine
  152. leistungsfähige Online-Hilfe.
  153.  
  154.  
  155. Der Monitor von MDEBUG
  156. ──────────────────────
  157.  
  158. Aufbau des Monitorfensters von MDEBUG:
  159.  
  160. ╔═══════════════════════════════ MDEBUG V2.05 ═══════[b*]════════════════════╗
  161. ║ DS:SI  Adr.: 23B9:2BCE  SE: 23B9 OF: 2BCE    Suchen: HelpPC.■■■,           ║
  162. ╟──────┬─ Offset: 2BCE [= 48h = #072 = 'H']───────────────┬──────────────────╢
  163. ║ 2BCE │ 48 65 6C 70 50 43 2E 4E  44 58 2C 20 69 73 20 48 │ HelpPC.NDX, is H ║
  164. ║ 2BDE │ 4C 50 20 76 61 72 69 61  62 6C 65 20 73 65 74 3F │ LP variable set? ║
  165. ║ 2BEE │ 20 48 45 4C 50 50 43 2E  4E 44 58 20 4D 61 69 6E │  HELPPC.NDXMain ║
  166. ║      │ ── FS:FO => 561A:EBB5 ────────────────────────── │                  ║
  167. ║ EBB5 │ 48 65 6C 70 2E 2E 20 20  20 20 20 20 20 20 20 6A │ Help..         j ║
  168. ║ EBC5 │ 6D 70 20 50 72 6F 67 45  72 72 6F 72 2E 2E 3B 20 │ mp ProgError..;  ║
  169. ║ EBD5 │ 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D │ ---------------- ║
  170. ║ EBE5 │ 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2E 2E 6C 31 │ ------------..l1 ║
  171. ╚══════╧══════════════[ (c) Bernd Schemmer 1988 - 1992 ]══╧══════════════════╝
  172.  
  173. Der Monitor von MDEBUG arbeitet mit zwei unabhängigen  Fenstern zur
  174. Anzeige von Speicherinhalten.  Die Größe der Fenster ist dabei frei
  175. variierbar und  die  angezeigten  Speicherbereiche können  beliebig
  176. gescrollt  werden.  Angezeigt  wird  der  Speicherinhalt jeweils in
  177. hexadezimaler Darstellung und in ASCII-Darstellung.  Die  Register,
  178. aus denen die Startadresse  des ersten  Monitor-Fensters  ermittelt
  179. werden sollen, können frei bestimmt werden (z.B. DS:SI, DX:AX).
  180.  
  181. Die Anzeige des Monitors wird von MDEBUG laufend (!) aktualisiert -
  182. auch  bei  der  Eingabe von Befehlen im Interpreter und falls keine
  183. Eingabe erfolgt.  Die  laufende Aktualisierung  ist natürlich  auch
  184. abschaltbar.
  185. Der Monitor  gestattet die Anzeige  und Veränderung  von beliebigen
  186. RAM-Bereichen im ersten  Megabyte des  Speichers des  PCs. (im Hex-
  187. oder im ASCII-Modus).   Die Suche  von bestimmten Zeichenketten ist
  188. ebenfalls möglich (incl. Verwendung von Jokern im Suchstring).
  189. Außerdem  sind im Monitor (u.a.) verschiedene Befehle zum  bequemen
  190. Durchlaufen  von  verzeigerten Listen  (near,  far  oder  die  MCB-
  191. Liste) implementiert.
  192.  
  193.  
  194. Der Interpreter von MDEBUG
  195. ──────────────────────────
  196.  
  197. Aufbau des Interpreterfensters von MDEBUG:
  198.  
  199. ╔ Passwort OFF ════════════════════ MDEBUG V2.05 ════[UqI]═════════════════════╗
  200. ║ Befehl:                                                                      ║
  201. ╟────────┬──────────────────────────────────────────────────M──────────────────╢
  202. ║CS: 31DD│ ╓─────────── Register ─────────────────────────╖ 1 0EB0:0000 LASTBUF║
  203. ║R┬──────┤ ║ AX = 0500  BX = 0000  CX = 0A0D  DX = FFFF   ║ 2 0974:0000 1. MCB ║
  204. ║1│ 0080 │ ║ SI = 00D3  DI = 00D3  DS = 022C  ES = 022C   ║ 3 022C:7420 1. DPB ║
  205. ║2│ 31DD │ ║ BP = 2DB2  SS = 022C  SP = 09F6              ║ 4 022C:0098 SDL    ║
  206. ║3│ D061 │ ║ Flags = ....__I____A__._                     ║ 5 0070:01A4 CLOCK  ║
  207. ║4│ 0000 │ ║    R0 = $0000000101000100 = 0144             ║ 6 0070:016E CON    ║
  208. ║5│ 0000 │ ║    R8 = #24930  (+#24930) = 6162 = 'ab'      ║ 7 0DC9:0000 BUF    ║
  209. ║6│ 0000 │ ║ Ruecksprung-Adresse = 022C:3FEE              ║ 8 0F13:0000 PRet   ║
  210. ║7│ 0000 │ ║ Busy-Flag = 01  DIB = 022C:001E              ║ 9 0A08:0000 PFileT ║
  211. ╚═╧══════╧═╩═══════════[ (c) Bernd Schemmer 1988 - 1992 ]═╩═╩══════════════════╝
  212.  
  213. Zur  Unterstützung  des  Monitors  besitzt MDEBUG  einen leistungs-
  214. fähigen Interpreter. Im Fenster des Interpreters werden die Inhalte
  215. der Prozessor-Register  und  die wesentlichen Adressen aus dem DOS-
  216. Info-Block  angezeigt.  Außerdem  werden (u.a.)  die Inhalte  der 9
  217. von MDEBUG zur  Verfügung  gestellten Hilfsregister angezeigt wobei
  218. der Inhalt von  mehreren  Hilfsregistern  in  verschiedenen  Inter-
  219. pretationen angezeigt wird. MDEBUG kann daher  z.B. zur  Umrechnung
  220. von  Werten benutzt werden. (binär, dezimal mit Vorzeichen, dezimal
  221. ohne Vorzeichen, hexadezimal oder als ASCII-Zeichen).
  222.  
  223. Für  kompliziertere  Aufgaben besitzt  der  Interpreter eine eigene
  224. Programmiersprache  mit mehr  als 40 (!) Befehlen (z.B. zur Manipu-
  225. lation  von  Registern  oder Speicherstellen,  zur  Berechnung  von
  226. Formeln, zum Ausführen  von  Maschinencode,  zur Anzeige  der  DOS-
  227. internen Tabellen und  Listen, usw). Auch die Ausführung von Inter-
  228. rupts  ist  über  MDEBUG problemlos  möglich, wobei das Reentrance-
  229. Problem von MS-DOS elegant gelöst ist. MDEBUG erlaubt es u.a. auch,
  230. dem  unterbrochenen  Prozess veränderte  Registerwerte zu übergeben
  231. oder  den unterbrochenen  Prozess  abzubrechen.  Über  den B-Befehl
  232. können zudem  alle Maschinencodes  des installierten Prozessor aus-
  233. geführt werden.  MDEBUG  verfügt auch  über  einen  sehr  schnellen
  234. Befehl  zur Suche von  beliebigen Bytefolgen  im Speicher, wobei in
  235. der zu suchenden Bytefolge auch Joker, Prefixe und Intervalle ange-
  236. geben werden können.
  237.  
  238. Da  mehrere  Befehle auch  auf  einmal ausgeführt werden können und
  239. auch Befehle zur  bedingten  Ausführung  von Befehlen  und zur Pro-
  240. grammierung  von  Schleifen  (REPEAT-UNTIL,  DO-WHILE,  FOR-DO  und
  241. Endlos-Schleifen  mit Abbruchmöglichkeit)  vorhanden  sind,  können
  242. auch  kleinere  'Routinen'  erstellt  und  ausgeführt  werden.  Zur
  243. Verkettung  von mehreren Befehlszeilen können Befehlszeilen auch in
  244. beliebigen Speicherbereichen gesichert und später aus diesen heraus
  245. restauriert und ausgeführt werden.
  246.  
  247. Explizite  Werte  können in allen Formaten mit einer Basis zwischen
  248. 2 und 16  (z.B.  binär, octal,  dezimal oder hexadezimal) oder auch
  249. als String  eingegeben  werden.  Natürlich  können  auch  Ausdrücke
  250. benutzt werden.
  251. Für Ausdrücke sind folgende Operatoren implementiert:
  252.  
  253. - arithmetisch:  +, -, /, *, \ (MODULO),
  254.  
  255. - logisch:       & (AND), | (OR), ! (XOR)
  256.                  «, (SHIFT LEFT), » (SHIFT RIGHT)
  257.                  <, >,  =,  ¬
  258.                  % (Teste Bit)
  259.  
  260. In Ausdrücken können maximal 5 Klammerebenen verwendet werden.
  261.  
  262.  
  263. Erweiterungen von MDEBUG über Kommandotreiber
  264. ─────────────────────────────────────────────
  265.  
  266. MDEBUG  gestattet  es,  die Tastenbelegung  und  die  Befehle  über
  267. Kommandotreiber beliebig  umzudefinieren bzw. neue Tastenbelegungen
  268. und Befehle zu implementieren.
  269. Zur Shareware-Version von  MDEBUG  werden  schon  mehrere Kommando-
  270. treiber mitgeliefert.
  271.  
  272. Der auch schon in der Shareware-Version  enthaltene Kommandotreiber
  273. MDHISDRV.COM  stellt  z.B.  eine  History-Funktion  für  MDEBUG zur
  274. Verfügung.  Er  gestattet  es  zudem  10  Tasten  jeweils mit einer
  275. Befehlszeile  für MDEBUG zu belegen. Selbstverständlich  können die
  276. Befehlszeilen  und  die Puffer  von  MDHISDRV  auch in  einer Datei
  277. gesichert und später wieder eingelesen werden.
  278.  
  279.  
  280. Der Disassembler von MDEBUG
  281. ───────────────────────────
  282.  
  283. Aufbau des Disassemblerfensters von MDEBUG:                              
  284.  
  285. ╔══ MDDISDRV V2.05 ═════ Ziel-CPU:   V20/ 8087 ══[inst. CPU:   V20/-----]══════╗
  286. 1 2E16:2646  3C 41                CMP AL,041  ;='A' = 65 =0100_0001xB [ 8086]+ ║
  287. ║ 2E16:2648  72 FA                JB 02644                            [ 8086]+ ║
  288. ║ 2E16:264A  3C 5A                CMP AL,05A  ;='Z' = 90 =0101_1010xB [ 8086]+ ║
  289. ║ 2E16:264C  77 F6           -->  JA 02644                            [ 8086]+ ║
  290. ║ 2E16:264E  2C 41                SUB AL,041  ;='A' = 65 =0100_0001xB [ 8086]+ ║
  291. ║ 2E16:2650  53                   PUSH BX                             [ 8086]+ ║
  292. ║ 2E16:2651  BB DC 11             MOV BX,011DC  ;= 4572               [ 8086]+ ║
  293. ║ 2E16:2654  D7                   XLAT                                [ 8086]+ ║
  294. ║ 2E16:2655  5B                   POP BX                              [ 8086]+ ║
  295. 2 2E16:2656  F8                   CLC                                 [ 8086]+ ║
  296. ╟─ akt. Stack-Element:  4 ── Disp. Code: A Daten: A ─[BPuWRfapK]──[lpt1, 55]───╢
  297. ║  2E16:24D0  2E16:2525  3DE2:8128  475C:A1DF                                  ║
  298. ╟─ Register:  CS: 2E16 DS: 59B5 ES: 59B5 SS: 59B5 GS: 0000 FS: 0000 HB: 0000 ──╢
  299. ║ 2E16:2644  F9                   STC                                 [ 8086]+ ╣
  300. ║ 2E16:2645  C3                   RET                                 [ 8086]+ ║
  301. ║                           < Tastenbelegung >                                 ║
  302. ╚══════════════════════[ (c) Bernd Schemmer 1991 - 1992 ]══════════════════════╝
  303.  
  304. Der  ebenfalls schon in der Shareware-Version enthaltene  Kommando-
  305. treiber  MDDISDRV.COM  stellt  einen  interaktiven  und  selektiven
  306. Disassembler für MDEBUG zur Verfügung. D.h. mit MDEBUG und MDDISDRV
  307. kann jederzeit beliebiger Code im Speicher überprüft werden.
  308. MDDISDRV beherrscht alle Opcodes der Prozessoren  8086/8088, 80186/
  309. 80188,  80286 (incl. der Opcodes  für  den Protected  Mode), 80386,
  310. des  V20/V30 (incl. der  Opcodes, die  nur von  diesen  Prozessoren
  311. beherrscht werden)  und  alle Opcodes der CoProzessoren 8087, 80287
  312. und 80387. Im Gegensatz zu anderen Disassemblern können der Prozes-
  313. sor und der Coprozessor für die disassembliert werden soll beliebig
  314. gewählt werden (daher 'selektiv').
  315.  
  316. Neben einer komfortablen Bedienung bietet  MDDISDRV selbstverständ-
  317. lich auch die  Möglichkeit, disassemblierten  Code in eine Datei zu
  318. sichern. Hierfür stehen  mehrere  Formate  zur  Verfügung, u.a. ein
  319. Format in dem die Datei mit dem disassemblierten  Code direkt  ohne
  320. Änderungen als Eingabedatei für den A86 benutzt werden kann.
  321. MDDISDRV ermöglicht es auch, beliebige Datenbereiche im Dump-Format
  322. und im Data-Format (meint 'db nn,nn,...'-Zeilen)  in  eine Datei zu
  323. schreiben bzw. auf den Drucker auszugeben.
  324.  
  325. Weitere Features von MDDISDRV:
  326.  
  327. - Online-Hilfe
  328.  
  329. - belegt nur ca. 17 K Speicher
  330.  
  331. - direkte Anzeige von Speicherstellen, die durch einen Befehl gele-
  332.   sen oder  verändert werden,  wobei Segment-Prefixe berücksichtigt
  333.   werden.
  334.  
  335. - Befehle mit impliziten oder expliziten  Sprungziel (z.B. CALL nn,
  336.   JMP nn, INT nn, INTO, etc.) können mit einem Tastendruck verfolgt
  337.   werden. Mittels eines  eigenen Adressen-Stacks kann  die Rückkehr
  338.   ebenfalls über einen einzigen Tastendruck erfolgen.
  339.  
  340. - Adressen aus Befehlen (Speicheroperanden oder Sprungziele) können
  341.   absolut oder IP-relativ ausgegeben werden.
  342.  
  343. - Ermöglicht die  Suche  von Befehlen, die auf  eine Speicherstelle
  344.   zugreifen.
  345.  
  346. - Ermöglicht  die Suche von Befehlen, die eine Routine/Adresse auf-
  347.   rufen.
  348.  
  349. - Ausgabe des Prozessors, der für einen Befehl mindestens nötig ist
  350.  
  351. - MDDISDRV behandelt alle  Opcodes wie die aktuelle  Ziel-CPU (auch
  352.   Opcodes mit unmöglichen Operanden, Opcodes mit Prefixbytes, unbe-
  353.   kannte ESC-Opcodes und undokumentierte Opcodes)
  354.  
  355. - Disassemblieren des Codes  einer Interrupt-Routine  durch Eingabe
  356.   der Nummer des Interrupts möglich
  357.  
  358. - unterstützt bis zu 9 (virtuelle) Drucker
  359.  
  360.  
  361. Unterschiede zwischen der Shareware- und der Vollversion
  362. ────────────────────────────────────────────────────────
  363.  
  364. In der Vollversion kann die Shareware-Meldung beim Installieren von
  365. MDEBUG entfernt werden. Zudem können  in der  Vollversion  die Vor-
  366. einstellungen  für die Parameter geändert werden.  Die  Vollversion
  367. enthält daneben  noch mehrere Utilities für die  Arbeit mit  MDEBUG
  368. (u.a. zwei Programme zum Erstellen und Testen von neuen  Hilfstext-
  369. dateien für die  Onlinehilfe) und die kommentierten  Quelltexte für
  370. jeweils einen Kommando- und einen Bildschirmtreiber.
  371.  
  372. Die Vollversion kostet 75,- DM (+ 6,- DM Portokosten).
  373.  
  374.  
  375.  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  376.  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  377.  ▓┌──────────────────────────────────────────────────────────────────┐▓▓
  378.  ▓│ MDEBUG gibt Ihnen die volle Kontrolle über Ihren PC - jederzeit! │░▓
  379.  ▓└──────────────────────────────────────────────────────────────────┘░▓
  380.  ▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓
  381.  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
  382.  
  383.  
  384.